package Modelo;

import java.util.Vector;


public class Seccion extends Profesor{
	
	// Atributos
	
	public int nume_secc;
	public String est_inscrito, profesor_secc;
	Profesor profesor = new Profesor();
	private Vector<Estudiante> estu= new Vector<Estudiante>();
	Estudiante estudiante;

	
	// Constructores
	public Seccion(int nume_secc, String est_inscrito, String profesor_secc) {
		super();
		this.nume_secc = nume_secc;
		this.est_inscrito = est_inscrito;
		this.profesor_secc = profesor_secc;

	}

	public Seccion(){}
	
	// Getter y Setter
	
	public int getNume_secc() {
		return nume_secc;
	}

	public void setNume_secc(int nume_secc) {
		this.nume_secc = nume_secc;
	}

	public String getEst_inscrito() {
		return est_inscrito;
	}

	public void setEst_inscrito(String est_inscrito) {
		this.est_inscrito = est_inscrito;
	}

	public String getProfesor() {
		return profesor_secc;
	}

	public void setProfesor_secc(Profesor nprofesor) {
		profesor= nprofesor;
	}
	
	
	public void Asignarprofesor(Profesor nuevoprof) {
		
		setProfesor_secc(nuevoprof);
	}
	
	public void Inscribirestudiante( Estudiante estudiante){
		
		this.estu.add(estudiante);	 	 
	}
	
	public int Cantest(){
		return estu.size();
	}
	
	public void Retirarestudiante(String cedula){
	
		for(int i=0; i< estu.size(); i++)
		{
			if(estu.elementAt(i).getCedula().equals(cedula));	
				 estu.remove(i);
		}
	}
	
	public void Buscarestudiante(String cedula){
        

  
          for(int i=0; i< estu.size(); i++){
               if (estu.elementAt(i).getCedula().equals(cedula))
               {
            	    System.out.println("INFORMACION DEL ESTUDIANTE:");
            	       System.out.print("Cedula:");
            	   System.out.println(estu.elementAt(i).getCedula());
                          System.out.print("Nombre:");
                          System.out.println(estu.elementAt(i).getNombre());
                          System.out.print("Apellido:");
                          System.out.println(estu.elementAt(i).getApellido());
               }
                else        
                          System.out.println("El estudiante no esta inscrito"); 
              
                          
   
	}     
}         
     


	public boolean Existenciaest(String cedula){
	
	boolean existe = false;
	if (estu.size() > 0){	
	for (int i=0;i<estu.size();i++){
	if((estu.elementAt(i).getCedula().equals(cedula)))
	{
		existe = true;
	}
	
	} 
	}
	return existe; 

	}
	
	public void Aplicarevaluaciones(){
		
		for(int i=0; i< estu.size(); i++)
		{
			
			estu.get(i).presentarevaluacion();
			profesor.evaluarestudiante(estu.get(i));
		}
	
}
	
	public void Ordenarcedula(){
		
			boolean ordenar=false;
			int p=1;
			double posi, posj;
			do{
				for(int j=0; j< estu.size(); j++){
				ordenar=false;
				for(int i=0; i<estu.size()-p; i++){
					posi=Double.valueOf(estu.get(i).getCedula()).doubleValue();
					posj=Double.valueOf(estu.get(i+1).getCedula()).doubleValue();
					if(posi>posj){
						estudiante=estu.get(i);
						estu.set(i, estu.get(i+1));
						estu.set((i+1), estudiante);
						ordenar=true;
											
					}
				}
				p++;
					System.out.println("Cedula:   " +estu.get(j).getCedula()+ "        Nombre:     " +estu.get(j).getNombre()+ "        Apellido:      "+estu.get(j).getApellido());
				}
			}while(ordenar);
			
		}

	public void Ordenarnotafinal(){
		
		boolean ordenar=false;
		int p=1;
		do{
			for(int j= 0; j< estu.size(); j++){
			ordenar=false;
			for(int i=0; i<estu.size()-p; i++){
				if(estu.get(i).getNotafinal()<estu.get(i+1).getNotafinal()){
					
					estudiante=estu.get(i+1);
					estu.set(i+1, estu.get(i));
					estu.set((i), estudiante);
					ordenar=true;
				}
			}
			p++;
			System.out.println("Cedula:   " +estu.get(j).getCedula()+ "        Nombre:     " +estu.get(j).getNombre()+ "        Apellido:      "+estu.get(j).getApellido() + "        Nota Final:    " + estu.get(j).getNotafinal());
			}
		}while(ordenar);
	}
	
	public Vector<Estudiante> getEstu() {
		return estu;
	}

	public void setEstu(Vector<Estudiante> estu) {
		this.estu = estu;
	}

	public void Listaraprobados(){
		
     		for(int i=0; i<estu.size(); i++){
			if((estu.elementAt(i).getEstatus_est() == 'A'))							
			System.out.println("Cedula:   " +estu.get(i).getCedula()+ "        Nombre:     " +estu.get(i).getNombre()+ "        Apellido:      "+estu.get(i).getApellido()+ "      Nota final:     " + estu.get(i).getNotafinal());
			}
	 }	
	
	
	
	public void Listareprobados(){
		
			for(int i=0; i<estu.size(); i++){
				if((estu.elementAt(i).getEstatus_est()=='R') )
				System.out.println("Cedula:   " +estu.get(i).getCedula()+ "    Nombre:     " +estu.get(i).getNombre()+ "        Apellido:      "+estu.get(i).getApellido()+ "     Nota final:     " + estu.get(i).getNotafinal());
							
				}
				
			}

	public float Promedionotas(){
		
		float acum=0;
		
		for(int i=0; i< estu.size(); i++){
			
			acum= acum + estu.get(i).getNotafinal();
			
		} 
		return acum/estu.size();
		
	}
		
		
}		
		
	
		
		
		
	
